# from zhipuai import ZhipuAI
# import json
# import requests

# client = ZhipuAI(api_key="8fb21e517a965b10cf87b7fdadf18a74.UVLbxTJXdL3YLxcT")

# # 定义API信息
# api_info = {
#     "获取法人代表": {'route': '/law_api/api', 'param': 'company_name'},
#     "获取公司全部信息": {'route': '/law_api/get_company_info', 'param': 'company_name'},
#     "根据公司注册信息某个字段是某个值来查询具体的公司名称": {'route': '/law_api/search_company_name_by_register', 'param': ['key', 'value']},
#     "根据公司基本信息某个字段是某个值来查询具体的公司名称": {'route': '/law_api/search_company_name_by_info', 'param': ['key', 'value']},
#     "根据公司名称获得该公司所有注册信息": {'route': '/law_api/get_company_register', 'param': 'company_name'},
#     "根据子公司名称获得该公司所有关联子公司信息": {'route': '/law_api/get_sub_company_info', 'param': 'company_name'},
#     "根据关联子公司信息某个字段是某个值来查询具体的公司名称": {'route': '/law_api/search_company_name_by_sub_info', 'param': ['key', 'value']},
#     "根据案号获得该案所有基本信息": {'route': '/law_api/get_legal_document', 'param': 'case_num'},
# }

# # 定义问题列表
# question_contents = [
#     "找下注册号为320512400000458是哪个公司？",
#     "上市公司因涉嫌金融诈骗面临的法律风险有哪些？",
#     "劲拓股份拥有哪些子公司？",
#     "请查询景津装备股份有限公司所属的行业类别，并告知在该行业分类下共有多少家公司？",
# ]
# # 获取json文件内容
# file_path = "question.json"
# # 初始化一个列表来存储提取的信息
# extracted_info = []
# # 逐行读取并解析JSON文件
# with open(file_path, 'r', encoding='utf-8') as file:
#     for i, line in enumerate(file):
#         if i >= 10:  # 目前只读取前10条问题!!!!!!!读取200条要很久，并且一次差不多要花4块钱！
#             break
#         try:
#             # 尝试解析每一行为一个JSON对象
#             item = json.loads(line)
#             question_contents += item['question']
#         except json.JSONDecodeError as e:
#             print(f"Error decoding JSON line: {e}")


# # 定义提取API和参数的函数
# def get_api_and_params(question_content):
#     # 使用模型API理解和处理问题
#     messages = [
#         {
#             "role": "user",
#             "content": f"我有八个基础api如下{api_info},请分析以下问题，并告诉我需要调用哪个API以及提取哪些参数：{question_content},不要回复多余的东西！严格按照以下格式回复我，问题的描述，问题需要调用api的路由，提取的参数，参数值，这些全部用json格式返回给我，并且请注意,不需要以markdown的形式写，并且不需要写```json和```；提取的参数不要有方括号也不要有引号，参数值也一样。请严格遵守。如果该问题需要多个api组合回答，那就直接全部回复空，除了我要求的格式信息外，不要回复我其他东西。"
#         }
#     ]
#     response = client.chat.completions.create(
#         model="glm-4",  # 填写需要调用的模型名称
#         messages=messages,
#         tool_choice="auto",
#     )
#     reply = response.choices[0].message.content
#     print(reply)
#     # 将JSON字符串解析为字典
#     reply_json = json.loads(reply)
#     # 提取四个字段
#     question_description = reply_json["问题描述"]
#     api_route = reply_json["问题需要调用api的路由"]
#     extracted_parameter = reply_json["提取的参数"]
#     parameter_value = reply_json["参数值"]
#     # 打印提取的字段
#     print(f"问题描述: {question_description}")
#     print(f"API路由: {api_route}")
#     print(f"提取的参数: {extracted_parameter}")
#     print(f"参数值: {parameter_value}")

#     return question_description,api_route,extracted_parameter,parameter_value

# # 测试函数
# for qc in question_contents:
#     qd,ar,ep,pv = get_api_and_params(qc)
#     # print("------")
#     domain = "comm.chatglm.cn"

#     url = f"https://{domain}/{ar}"

#     # 获取公司全部信息

#     headers = {
#         'Content-Type': 'application/json',
#         'Authorization': 'Bearer DE32EB46D23350E0B75B3702C8D5DC036F8CE32DC73C919D'
#     }

#     # 提取参数和参数值
#     parameters = ep.split(',')
#     parameter_values = pv.split(',')

#     # 确保 parameters 和 parameter_values 的长度相同
#     if len(parameters) == len(parameter_values):
#         # 创建一个字典来存储参数和值
#         data = {f"{ep}": f"{pv}" for ep, pv in zip(parameters, parameter_values)}
#     else:
#         print("参数和参数值的数量不匹配，请检查输入数据。")

#     # 输出结果
#     print(data)
#     rsp = requests.post(url, json=data, headers=headers)
#     # print(rsp.json())
 

#     # # 假设您的 JSON 文件名为 data.json
#     # filename = 'test.json'

#     # # 读取 JSON 文件
#     # with open(filename, 'r', encoding='utf-8') as file:
#     #     data = json.load(file)

#     # # 更新答案
#     # updated_any = False
    
#     # updated = False
#     # for item in data:
#     #     if item['question'] == qd:
#     #         # 找到匹配的问题，更新答案
#     #         item['answer'] = "对应的答案"
#     #         updated = True
#     #         updated_any = True
#     #         break  # 匹配成功，跳出内层循环
#     # if not updated:
#     #     print(f"没有找到与 '{qd}' 匹配的问题。")

#     # # 如果有任何更新，将更新后的数据写回 JSON 文件
#     # if updated_any:
#     #     with open(filename, 'w', encoding='utf-8') as file:
#     #         json.dump(data, file, ensure_ascii=False, indent=4)

#     # print("答案已更新到 JSON 文件。" if updated_any else "没有问题匹配，JSON 文件未更新。")

